import api from '../index'

/**
 * 学校信息接口定义
 */
export interface School {
  schoolId: number
  schoolName: string
  schoolNameEn: string
  province: string
  provinceEn: string
  city: string
  cityEn: string
  level: string
  levelEn: string
  schoolLogo: string
  photoUrl: string
  schoolIdentifier: string
  schoolWebsite: string
  schoolVis: string
  supervisoryDepartment: string
  supervisoryDepartmentEn: string
  characteristics: string
  characteristicsEn: string
  schoolIntroduction: string
  schoolIntroductionEn: string
  remark: string
  cooperateOr: number
}

export default {
  /**
   * 获取学校列表（分页）
   * @param data - 查询参数
   * @param data.schoolName - 可选，按学校名称模糊查询
   * @param data.page - 必填，页码（从1开始）
   * @param data.size - 必填，每页显示数量
   * @returns 分页学校列表数据
   */
  list: (data: { schoolName?: string, page?: number, size?: number }) => api.get(`/system/school/list`, {
    params: {
      schoolName: data.schoolName,
      pageSize: data.size,
      pageNum: data.page,
    },
  }),

  /**
   * 获取收录学校的logo列表（分页）
   * @param data - 查询参数
   * @param data.schoolName - 可选，按学校名称模糊查询
   * @param data.page - 必填，页码（从1开始）
   * @param data.size - 必填，每页显示数量
   * @returns 分页学校列表数据
   */
  logolist: (data: { schoolName?: string, page?: number, size?: number }) => api.get(`/system/school/logolist`, {
    params: {
      schoolName: data.schoolName,
      pageSize: data.size,
      pageNum: data.page,
    },
  }),

  /**
   * 获取学校名称列表（用于选择器）
   * @param data - 查询参数
   * @param data.schoolName - 可选，按学校名称模糊查询
   * @returns 学校名称列表
   */
  SchoolNamelist: (data: { schoolName?: string }) => api.get(`/system/school/SchoolNamelist`, {
    params: {
      schoolName: data.schoolName,
    },
  }),

  /**
   * 获取学校详情
   * @param id - 学校ID
   * @returns 学校详细信息
   */
  detail: (id: number | string) => api.get<School>(`/system/school/getInfo`, {
    params: {
      schoolId: id,
    },
  }),

  /**
   * 创建学校信息
   * @param data - 学校数据
   * @param data.schoolName - 必填，学校名称
   * @param data.province - 必填，所在省份
   * @param data.city - 必填，所在城市
   * @param data.schoolLogo - 必填，学校Logo URL
   * @returns 创建结果
   */
  create: (data: School) => api.post('/system/school/add', data, {
  }),

  /**
   * 编辑学校信息
   * @param data - 学校数据
   * @param data.schoolId - 必填，学校ID
   * @param data.schoolName - 必填，学校名称
   * @returns 编辑结果
   */
  edit: (data: School) => api.post('/system/school/edit', data, {
  }),

  /**
   * 删除学校
   * @param id - 要删除的学校ID
   * @returns 删除结果
   */
  delete: (id: number | string) => api.get(`/system/school/del`, {
    params: {
      schoolId: id,
    },
  }),

  /**
   * 上传学校Logo
   * @param file - 要上传的图片文件
   * @returns 上传结果包含图片URL
   */
  uploadAvatar: (file: any) => api.post(`/common/uploadAvatar`, file, {
    headers: {
      'Content-Type': 'multipart/form-data',
    },
  }),
}
